A New Fast Algorithm for Optimal Register Allocation in Modulo Scheduled Loops

نویسندگان

  • Sylvain Lelait
  • Guang R. Gao
  • Christine Eisenbeis
چکیده

In this paper, we focus on the register allocation phase of software pipelining. We are interested in optimal register allocation. This means that the number of registers used must be equal to the maximum number of simultaneously alive variables of the loop. Usually two diierent means are used to achieve this, namely register renaming or loop unrolling. As these methods have both drawbacks, we introduce here a solution which is a trade-oo between inserting move operations and unrolling the loop. We present a new algorithmic framework of optimal register allocation for modulo scheduled loops. The proposed algorithm, called U&M, is simple and eecient. We have implemented it in MOST (Modulo Scheduling Toolset). An experimental study of our algorithm on more than 1000 loops has been performed and we report a summary of the main results. This new algorithm, that combines loop unrolling and register renaming, performs consistently better than several other existing methods. Un nouvel algorithme rapide et optimal d'allocation de registres pour des boucles ordonnanc ees modulo R esum e : Dans ce papier, nous nous concentrons sur la phase d'allocation de registres du pipeline logiciel. Nous nous int eressons a l'allocation de registres optimale. Cela signiie que le nombre de registres doit ^ etre egal au nombre maximal de variables en vie simultan ement dans la boucle. Habituellement deux moyens sont employ es pour atteindre ce but, le renom-mage de registres ou le d eroulage de boucles. Etant donn e que ces m ethodes ont toutes les deux des d esavantages, nous introduisons une solution qui est un compromis entre ins erer des op erations de copie de registres et d erouler la boucle. Nous pr esentons un nouveau cadre algorithmique pour l'allocation optimale de registres de boucles ordonnanc ees modulo. L'algorithme propos e, appel e U&M, est simple et ef-cace. Nous l'avons impl ement e dans MOST (Modulo Scheduling Toolset). Une etude exp erimentale de notre algorithme sur plus de 1000 boucles a et e r ealis ee et nous en pr esentons les r esultats principaux. Ce nouvel algorithme, qui combine le d eroulage de boucles et le renommage de registres, donne de meilleurs r esultats que plusieurs m ethodes existantes.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

E cient Formulation for Optimal Modulo Schedulers

Modulo scheduling algorithms based on optimal solvers have been proposed to investigate and tune the performance of modulo scheduling heuristics. While recent advances have broadened the scope for which the optimal approach is applicable, this approach increasingly su ers from large execution times. In this paper, we propose a more e cient formulation of the modulo scheduling space that signi c...

متن کامل

Modulo Scheduling with Reduced Register Pressure

Software pipelining is a scheduling technique that is used by some product compilers in order to expose more instruction level parallelism out of innermost loops. Modulo scheduling refers to a class of algorithms for software pipelining. Most previous research on modulo scheduling has focused on reducing the number of cycles between the initiation of consecutive iterations (which is termed II) ...

متن کامل

Optimal Scheduled Unit Commitment Considering Wind Uncertainty Using Cuckoo Search Algorithm

In this paper, a new method to review the role of wind units as an energy-producer in the scheduling problem of unit commitment is presented. Today, renewable energy sources due to lack of environmental pollution, absence of dependence on fossil fuels, and consequently a very low marginal cost, have been receiving considerable attention in power system. But these sources are associated with unc...

متن کامل

A Method for Register Allocation to Loops in Multiple Register File Architectures

Multiple instruction issue processors place high demands on register le bandwidth. One solution to reduce this bottleneck is the use of multiple register les. Register allocation for these architectures then becomes exceedingly important as spill code increases memory bandwidth demands and decreases performance, especially within loops. Previously, we have addressed the issue of nding an optima...

متن کامل

The meeting graph : a new model for loop cyclic register allocation Christine

Register allocation is a compiler phase in which the gains can be essential in achieving performance on new architectures exploiting instruction level parallelism. We focus our attention on loops and improve the existing methods by introducing a new kind of graph. We model loop unrolling and register allocation together in a common framework, called the meeting graph. We expect that our results...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998